延續昨天類別繼承的主題,接下來的內容會再稍微複雜一點。
在這之前,我們先簡單複習一下繼承的觀念 :
private
、default
這邊會分享較完整的程式碼,會透過此去做關於建構元與修飾詞之繼承問題
相信更全面的內容對於理解「繼承」這個觀念能更快更熟悉上手!!!
class example{
private double answer;
private double num = 12.6;
public example(){
System.out.println("Superclass was called ! ");
}
public void add_float(double temp){
answer = num + temp;
System.out.println("new_float = " + answer );
}
}
class example01 extends example{
private int count = 0;
public example01(){
System.out.println("Subclass was called ! ");
}
public example01(String name){
System.out.println("Editor : " + name);
}
public void add_int(int temp){
count += temp;
System.out.println("new_int = " + count);
}
public void show(){
System.out.println("End of this example ! ");
}
}
public class Main{
public static void main(String[] args){
example01 new_obj = new example01();
example01 new_obj_one = new example01("Jason");
new_obj.add_int(6);
new_obj.add_float(12.06);
new_obj.show();
}
}
程式結果 :
在這支程式中,有三個重點值得注意 :
建構元多載(overloading)
觀察內容,發現在子類別中有兩個名稱相同的建構元,這就是我們之前提到的「多載」概念。建構元一樣可以多載,一樣必須傳入不同的引數內容,在定義時要注意物件名稱的不同。
建構元呼叫
初始化主類別內容,再者執行子類別的初始化過程
( 此範例建構元之多載也是這個意思 )
礙於篇幅問題,明天的章節將會繼續介紹關鍵字this
、spuer
用在繼承上的模式。
並且結合前述概念做整理。
以上內容若有誤或任何問題,煩請不吝嗇告知,謝謝您!!!